package sword2offer;

import java.util.Stack;

/**
 * <p>
 * 从头到尾打印链表
 * </p>
 * 输入一个链表的头节点，从尾到头反过来返回每个节点的值（用数组返回）。
 * @author LovelyBigDuck
 * @date 2022/3/14 20:16
 */

/**
 * 思路：
 * 存入栈中
 */
public class S_06 {

     public class ListNode {
         int val;
         ListNode next;
         ListNode(int x) { val = x; }
     }

    class Solution {
        public int[] reversePrint(ListNode head) {
            Stack<ListNode> stack = new Stack<>();
            while(head!=null){
                stack.push(head);
                head=head.next;
            }
            int size=stack.size();
            int[] res = new int[size];
            for (int i = 0; i < size; i++) {
                res[i]=stack.pop().val;
            }
            return res;
        }
    }
}
